package homework.day03;

import java.io.*;

/**
 * 将当前目录下的所有obj文件获取到，并进行
 * 反序列化后输出每个用户的信息(直接输出反序
 * 列化后的User对象即可)
 *
 * @author Xiloer
 */
public class Text02 {
    public static void main(String[] args) throws IOException, ClassNotFoundException {


        //提示代码:
        //需要用到的语句，尝试按照正确顺序将下列代码并放在main方法中完成需求，
        //并在注释中标注每句话的作用，

        //获取当前项目所有子项
        File dir = new File(".");

        //筛选以.obj为结尾的文件存入数组
        File[] subs = dir.listFiles((f) -> f.getName().endsWith(".obj"));

        //遍历数组中的每一个文件
        for (int i = 0; i < subs.length; i++) {

            //获得i个文件
            File sub = subs[i];//从数组中获取每一个obj文件

            //将筛入后的文本数组读入
            FileInputStream fis = new FileInputStream(sub.getName());

            //将输入后的文本数组读入
            ObjectInputStream ois = new ObjectInputStream(fis);

            //读取序列化文件
            Object obj = ois.readObject();


            //检查文件名是否满足User对象
            if (obj instanceof User) {
                //将obj强转转换为User类型
                User user = (User) obj;

                //输出user
                System.out.println(user);
            }
            //关闭输入流
            ois.close();
        }

    }

}
